/** * Computes the factorial of a non‑negative integer. * * @param {number} n - The number to compute the factorial of. * @returns {number|undefined} The factorial of n for valid inputs, otherwise undefined. */ export function factorial(n) { if (typeof n !== "number" || !Number.isFinite(n)) return undefined; if (!Number.isInteger(n)) return undefined; if (n < 0) return undefined; let result = 1; for (let i = 2; i <= n; i++) { result *= i; } return result; }